home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / DMTDEMOS / GETBPB.DEM < prev    next >
Text File  |  1994-07-02  |  2KB  |  54 lines

  1. program GetBPBsample;
  2.  
  3.  uses crt, DMT;
  4.  
  5.  var
  6.    BPBbuffer : DevParamsStruct;   { The DevParamsStruct data type is defined in the DMT unit }
  7.  
  8.    DrvLetter : char;
  9.  
  10. begin
  11.   Color( 7, 0 );
  12.   clrscr;
  13.  
  14.   writeln;
  15.   write( 'Select drive to check ( A-Z ) [ :]');
  16.   gotoxy( wherex - 3, wherey );
  17.   DrvLetter := upcase( readkey );
  18.   writeln( DrvLetter );
  19.  
  20.   GetBPB( DrvLetter, BPBbuffer );   { Call GetBPB procedure }
  21.  
  22.   if ( ErrFlag ) then
  23.     begin
  24.       writeln( #7 );
  25.       writeln( ShowError( GetErrCode ) );
  26.     end
  27.   else
  28.     with BPBbuffer do
  29.       begin
  30.         clrscr;
  31.         writeln( '  BIOS Parameter Block (BPB) Layout' );
  32.         writeln;
  33.         writeln( 'Drive specified                : ', DrvLetter );
  34.         writeln( 'Sector size in bytes           : ', BytesPerSect );
  35.         writeln( 'Sectors per cluster            : ', SectsPerClust );
  36.         writeln( 'Number of boot sectors         : ', BootSects );
  37.         writeln( 'Number of FATs                 : ', NumOfFATs );
  38.         writeln( 'Maximum root-directory entries : ', MaxRootEntries );
  39.         write  ( 'Number of sectors on disk      : ' );
  40.  
  41.         if ( NumOfSects = 0 ) then
  42.           writeln( InsComma( BigSects ) )
  43.         else
  44.           writeln( InsComma( NumOfSects ) );
  45.  
  46.         writeln( 'Media descriptor code          : ', WrdToHex( MediaCode ), ' hex' );
  47.         writeln( 'Sectors occupied by each Fat   : ', SectsPerFAT );
  48.         writeln( 'Sectors per track              : ', SectsPerTrack );
  49.         writeln( 'Number of heads (sides)        : ', NumOfHeads );
  50.         writeln( 'Number of hidden sectors       : ', HiddenSects );
  51.       end;
  52.  
  53.   GetEnter;
  54. end.